#include <iostream>
#include <vector>
#include <algorithm>
#include <cstring>
#include <cmath>
using namespace std;
typedef long long ll;
const int N=1e7+9;
ll spare[N];
ll value[N];
ll dp[N];
int main()
{
	int t,m;
	cin>>t>>m;
	for(int i=1;i<=m;i++)
	{
		cin>>spare[i]>>value[i];
	}
	for(int i=1;i<=m;i++)
	{
		for(int j=spare[i];j<=t;j++)
		{
			dp[j]=max(dp[j],dp[j-spare[i]]+value[i]);
		}
	}
	cout<<dp[t];
	return 0;
}
